Guest User

Untitled

a guest
May 23rd, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. @Entity
  2. @Table
  3. class User {
  4.  
  5. @Id
  6. @GeneratedValue(strategy = GenerationType.AUTO)
  7. private Integer id;
  8.  
  9. @Column
  10. private Integer value;
  11.  
  12. @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "user")
  13. private UserDetails userDetails = new UserDetails(this);
  14.  
  15. // getters, setters
  16.  
  17. }
  18.  
  19. @Entity
  20. @Table(name = "user_details")
  21. class UserDetails {
  22.  
  23. @GenericGenerator(name = "generator", strategy = "foreign",
  24. parameters = @Parameter(name = "property", value = "user"))
  25. @Id
  26. @GeneratedValue(generator = "generator")
  27. @Column(name = "user_id", unique = true, nullable = false)
  28. private Integer id;
  29.  
  30. @Column
  31. private String name;
  32.  
  33. @OneToOne
  34. @PrimaryKeyJoinColumn
  35. private User user;
  36.  
  37. public UserDetails(User user) {
  38. setUser(user);
  39. }
  40.  
  41. //getters, setters
  42.  
  43. }
  44.  
  45. public interface UserRepository extends JpaRepository<User, Integer> {
  46.  
  47. @Transactional
  48. @Modifying
  49. @Query("update User set value = ?2 where userDetails.name = ?1")
  50. Integer addValue(String name, int value);
  51.  
  52. }
  53.  
  54. @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
  55. private UserDetails userDetails = new UserDetails(this);
  56.  
  57. @OneToOne(mappedBy = "userDetails")
  58. @PrimaryKeyJoinColumn
  59. private User user;
Add Comment
Please, Sign In to add comment