gpt4 book ai didi

java - @SqlResultSetMapping 和 @Embedded

转载 作者:行者123 更新时间:2023-12-02 06:00:20 24 4
gpt4 key购买 nike

我在 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

最佳答案

为 ServiceBook 创建一个新的 @EntityResult,就像您对 Car.class 所做的那样。我通常这样做是将列绑定(bind)到属性。

关于java - @SqlResultSetMapping 和 @Embedded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com