Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table
- class User {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Integer id;
- @Column
- private Integer value;
- @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "user")
- private UserDetails userDetails = new UserDetails(this);
- // getters, setters
- }
- @Entity
- @Table(name = "user_details")
- class UserDetails {
- @GenericGenerator(name = "generator", strategy = "foreign",
- parameters = @Parameter(name = "property", value = "user"))
- @Id
- @GeneratedValue(generator = "generator")
- @Column(name = "user_id", unique = true, nullable = false)
- private Integer id;
- @Column
- private String name;
- @OneToOne
- @PrimaryKeyJoinColumn
- private User user;
- public UserDetails(User user) {
- setUser(user);
- }
- //getters, setters
- }
- public interface UserRepository extends JpaRepository<User, Integer> {
- @Transactional
- @Modifying
- @Query("update User set value = ?2 where userDetails.name = ?1")
- Integer addValue(String name, int value);
- }
- @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
- private UserDetails userDetails = new UserDetails(this);
- @OneToOne(mappedBy = "userDetails")
- @PrimaryKeyJoinColumn
- private User user;
Add Comment
Please, Sign In to add comment