java onetoone_java – JPA OneToOne关系

我正在使用Play框架构建一个项目,而我无法理解JPA @OneToOne关系.

我目前有两个班:

用户对象

@Entity

@Table( name="users" )

public class Users extends Model {

@OneToOne( mappedBy="userId", fetch=FetchType.LAZY, cascade = CascadeType.ALL )

@ForeignKey( name="userId", inverseName="userId" )

UserSettings userSettings;

public userId;

public userName;

}

用户设置

@Entity

@Table( name="user_settings" )

public class UserSettings extends Model {

@OneToOne( cascade = CascadeType.ALL,targetEntity=User.class )

public String userId;

public String xml;

public UserSettings( String userId ){

this.userId = userId;

}

}

我的想法是我尝试将User中的userId字段设置为UserSettings中的外键.我尝试了几种不同的方法来实现这一点,我的代码总是抛出一个错误.我收到的最常见的错误是:

引用的属性不是(一个|多个)ToOne.

但是,当我尝试使用上面的代码在UserSettings中设置userId时,我收到以下异常:

已捕获到javax.persistence.PersistenceException,org.hibernate.PropertyAccessException:无法通过reader.User.id的反射getter获取字段值

任何人都可以帮助解释我如何实现我期望的目标吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值