Ответы пользователя по тегу Hibernate
  • Hibernate many-to-one и one-to-many?

    FanKiLL
    @FanKiLL
    @Entity
    public class User {
    
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
    	private Long id;
    	@Column(unique = true, nullable = false)
    	private String userName
    	@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    	private Set<Todo> todos = new HashSet<Todo>();
    }


    @Entity
    public class Todo {
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
    	private Long id;
    	@ManyToOne()
    	@JoinColumn(name = "user_id")
    	private User user;
    }
    Ответ написан
    Комментировать
  • Как лучше сделать hibernate валидацию с кодами ошибок?

    FanKiLL
    @FanKiLL
    NotNull не только предполагает String а ещё что это будет константа, вернее так предполагает любая аннотация которая ждёт String.

    public enum MessageType {
        NOTNULL("not null!!!"), MINVALUE("min value must be ...");
    
        private final String message;
    
        private MessageType(final String message) {
            this.message = message;
        }
    
        public String getMessage() {
            return message;
        }
    
        @Override
        public String toString() {
            return this.message;
        }
    }


    И вызвать потом
    @NotNull(message = MessageType.NOTNULL.getMessage())
    private String userName;

    Такой финт ушами не пройдёт. Даже MessageType.NOTNULL.name() метод который возвращает имя Enum'a не пройдёт.

    public class ValidationConstants {
    
        private ValidationConstants() {} //Приватный конструктор, что бы нельзя было сделать new
    	
        public static final String NOT_NULL = "Not nuull...";
        public static final String MIN_VALUE = "Min value must be...";
    }


    Вот такое вполне прокатит
    @NotNull(message = ValidationConstants.NOT_NULL)
    Ответ написан