我在这里粘贴类:
链类:
@Entity
@Table(name = "chain")
public class Chain {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@NotBlank(message = "Chain name is mandatory")
private String name;
@Column(name = "PLANT_NAME")
private String plantName;
private String description;
private String status;
private Boolean hasPlant;
@CreationTimestamp
@Column(name = "creation_time")
private LocalDateTime creationTime;
@OneToMany(mappedBy = "camera_item")
private List<CameraItem> cameraItems = new ArrayList<>();
@OneToMany(mappedBy = "chain")
Set<ConnectionPoint> connectionPoints;
相机项目类别:
@Entity
@Table(name = "camera_item")
public class CameraItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn
private Camera camera;
private String name;
private Integer positionInChain;
@ManyToMany(mappedBy = "cameraItems", fetch = FetchType.LAZY)
private List<Chain> parentChainIds;
@OneToMany(mappedBy = "cameraItem")
Set<ConnectionPoint> connectionPoints;
@Entity
@Table(name = "connection_point")
public class ConnectionPoint {
@Id
private Long id;
@Column(name = "direction")
private String direction;
@ManyToOne
@JoinColumn(name = "chain")
private Chain chain;
@ManyToOne
@JoinColumn(name = "camera_item")
private CameraItem cameraItem;
我认为ConnectionPoint
中没有问题。我认为问题是:
在链
类中,
@OneToMany(mappedBy = "camera_item") // One-to-Many defined here
private List<CameraItem> cameraItems = new ArrayList<>();
在CameraItem
类中,相应的属性定义如下:
@ManyToMany(mappedBy = "cameraItems", fetch = FetchType.LAZY) // Many-To-Many
private List<Chain> parentChainIds;
如何为这种多对多关系分配默认值?制作两个关联表->一个用于收件箱-关系,另一个用于发件箱-关系会更好吗?我该如何做到这一点?这个问题的其他解决方案? 任何帮助都非常感谢--非常感谢!
我需要支持一个涉及以下实体的场景(使用JPA): 用户 一个用户可以有多个帐户,一个帐户可以在多个用户之间共享,这是迄今为止的标准@ManyToMany关系。 一个用户可以为每个帐户拥有一组不同的角色,一个角色可以在多个用户之间共享。 我遵循了这个实践,它解释了一种用额外列映射多对多关联的方法,但我不确定我是否得到了它。 用户实体: 账户实体: 用户帐户实体: 用户帐号: 我正在创建一个新用户并尝
我正在创建医生、患者和专科三张表。患者可以有一个全科医生,但一个医生可以是许多患者的全科医生。每个医生都有自己的专长(例如神经外科医生、心脏病专家、泌尿科医生等)。当我尝试使用中间表在医生和专长之间建立多对多连接时,我会遇到一个错误“创建名为“entityManagerFactory”的bean时出错,该bean在类路径资源中定义”由特定mappedBy引用未知目标实体属性中的BeanCreati
我的Spring Boot应用程序中有两个实体: 使用者JAVA 和 Role.java 我的MySql数据库 我已经排除了这个问题的getter和setter方法。 我想实现两个实体之间的多对多关系。每个用户都应该能够为自己分配多个角色 我已经在我的数据库中为这两个表创建了一个映射表。它有几排 用户id 我还创建了一个新的实体UserRole。java,如下所示: 现在我的问题是:这种构造正确吗
我有一个用户实体和一个宠物实体。在用户和宠物之间没有“一个多人”、“许多人”或其他。原因是每个用户可能有数千只宠物(至少在本例中是这样)。由于我不想急于加载它(速度太慢),也不想延迟加载(导致延迟初始化异常……而且我不想使用视图中打开的过滤器),所以我在用户存储库中创建了这样一个名称的方法(原因是我想有机会只返回关系属性的子集。我不想要用户的所有宠物: <代码>getPetsForUser(最终用
我有两个词A,B。在这个词中A是父词,有下面的表结构。 A1-->Acolumn 甚至我也尝试过使用普通连接。PLS让我知道我错过了什么。 我使用@query来指定query。选择a From TableA a LEFT OUTER JOIN FETCH a.tableAcollection p,其中a.tableacolum=?1和p.tablebcolumn<>p.tablebcolumn。