【发布时间】:2015-07-17 14:09:48
【问题描述】:
我在 Hibernate 中映射嵌入字段时遇到问题。 这是代码:
@Entity
@Table(name="CAR")
@SqlResultSetMapping(name = "carMapping",
entities = {
@EntityResult(entityClass = Car.class,
fields = {
@FieldResult(name = "id", column = "ID"),
@FieldResult(name = "producer", column = "PRODUCER"),
@FieldResult(name = "model", column = "MODEL"),
@FieldResult(name="bookNumber",column="SERVICE_BOOK_NUMBER"),
@FieldResult(name="owner", column="SERVICE_BOOK_OWNER")
}
)})
public class Car {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ID")
private Long id;
@Column(name="PRODUCER")
private String producer;
@Column(name="MODEL")
private String model;
@Embedded
@AttributeOverrides({
@AttributeOverride(name="bookNumber", column=@Column(name="SERVICE_BOOK_NUMBER")),
@AttributeOverride(name="owner", column=@Column(name="SERVICE_BOOK_OWNER")),
})
private ServiceBook serviceBook;
当我尝试检索汽车时,出现以下错误:
javax.ejb.EJBTransactionRolledbackException: The transaction has been marked rollback only
because the bean encountered a non-application exception :javax.persistence.PersistenceException :
org.hibernate.exception.SQLGrammarException: Column 'SERVICE4_0_0_' not found
我的问题是:可以同时使用@SqlResultSetMapping 和@Embedded 吗?
【问题讨论】: