我正在使用Spring Boot和MySQL。我按照这个链接设置了所有内容,我能够连接到MySql并读/写数据。但有一个1:n的关系,我无法保存多方面的实体:
@Entity
public class OneSideOfRelationship {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long oneId;
private String someText;
@OneToMany(mappedBy="oneId")
private List<ManySideOfRelationship> manySide;
[Constructor / Getter / Setter]
}
@Entity
public class ManySideOfRelationship {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long manyId;
@ManyToOne(targetEntity=OneSideOfRelationship.class)
@JoinColumn
private long oneId;
private String someMoreText;
[Constructor / Getter / Setter]
}
@Transactional
public interface OneDao extends CrudRepository<OneSideOfRelationship, Long> {}
@Transactional
public interface ManyDao extends CrudRepository<ManySideOfRelationship, Long> {}
如果我在控制器中执行此操作:
[...]
@Autowired
@private ManySideOfRelationship manyDao;
[...]
ManySideOfRelationship many = new ManySideOfRelationship();
many.setOneId(1L);
many.setSomeMoreText("Text");
manyDao.save(many);
[...]
我得到了:
org.springframework.orm.jpa.JpaSystemException: could not get a field value by reflection getter of com.package.database.OneSideOfRelationship.oneId; nested exception is org.hibernate.PropertyAccessException: could not get a field value by reflection getter of com.package.database.OneSideOfRelationship.oneId
从我的申请中删除。属性:
spring.datasource.url = jdbc:mysql://myurl:myport/mydatabase
spring.datasource.username = myusername
spring.datasource.password = mypassword
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
还有一些来自pom的东西。xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
希望有人有主意。
oneId
的数据类型必须为OneSideOf关系
不长。
@ManyToOne(targetEntity=OneSideOfRelationship.class)
@JoinColumn
private OneSideOfRelationship oneId;
我在Hibernate状态下使用关系时得到空。这是我的代码用户实体 登录历史实体 要获取登录历史详细信息,请执行以下操作: 我得到一张空名单。请帮忙
我正在学习cakephp,已经做了很多。我问这个问题的唯一原因是cakePHP中的文档可能是错误的。我不能从文档或过去的stackoverflow帖子中看到为什么(子)教师表不保存(父)用户表中id表中的user_id。我得到没有错误,但user_id是0在教师表,所以它不捡起它从用户表。我在两个模型上有一对一的关系。我只是测试保存超过2个模型,我有一个用户和老师。我只是在表单中输入数据,并创建一
我有一个OneTo多项关系,我可以插入记录,但不能删除它们,当我试图删除它时,它会遇到“外键约束失败”错误。我使用级联删除孤儿如下,但不工作还。 父类的成员具有以下getter 成员类的父类具有以下getter 我也使用了下面的注释,但不起作用 我的冬眠依赖如下 我删除信息的代码
嗨,我有一个角色表和一个权限表,它有多对多的关系。我已经创建了下面链接中提到的实体 https://www.baeldung.com/jpa-多对多 角色实体 权限实体 我已经为每个实体创建了JPA存储库,并且正在尝试将权限保存给一个角色。我在表中已经有了一组/列表的权限,我正在尝试将它们映射到某个角色。我正在尝试使用spring JPA存储库执行下面的代码。 在执行我得到的代码时 org.hib
我看过几百个帖子,跟我的不太像:( 请考虑以下情况。 Mysql架构: 请注意,父级之间没有明确的/关键的关系 现在,我只想获取所有具有相同col1值的“子”对象 我尝试过的那种Hibernate实体, 子实体为, 结果:Hibernate错误报告“从“Parent”引用“Child”的外键的列数错误。应为1” 我将其解释为,@JoinColumn只能使用“id”完成 问题: 1) hiberna
当我保存以下实体时,它在另一个对象中复制相同的值: 例如,在我的struts项目(屏幕)中,如果我更改shipmentShipper字段的值,那么Shipment收货人也将使用相同的值进行更新。 实体: 仓库类: JSP中的字段映射(工作正常): 请检查屏幕截图,我将发货人更改为C4并保存。收货人也被选为C4。请注意,两个选择都使用相同的数据列表填充。(客户名单)