我在使用 zkoss 和 hibernate 时遇到问题
我有两个模型,一个是 JuvenileInfo,另一个是 SchoolMeasure
在 SchoolMeasure 中我创建了多对一关系
@Transient @ManyToOne @JoinColumn(name = "juvenile_id", nullable = false) public JuvenileInfo juvenile;
当我访问时
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
session session = sessionFactory.openSession(); session.beginTransaction(); List result1 = session.createQuery("from ShoolBasedMeasure e inner join e.juvenile ") .list();
我收到错误 juvenile is not property ,所以任何人都可以帮助我如何获取父记录 ListView 以显示其任何列
最佳答案
该错误是由于您使用@Transient 注释而引起的。 @Transient 注释只能用在非持久属性上,这可能是你的问题,因为 Hibernate 无法在数据库中找到 transient 属性。
在这种情况下,您应该执行以下解决方案之一:
- 如果 juvenile 是一个持久化属性,那么你应该删除它的 @Transient 注解;
- 如果 juvenile 不是持久属性,并且您仅将其用于需要此属性的逻辑,那么您应该删除映射 @ManyToOne 和 @JoinColumn;
根据您的描述,第一个解决方案可能会起作用,请告诉我们它是否可以解决您的问题。
关于java - hibernate查询中的父记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32523127/