Исключение сущности JPA из создаваемой в базе данных - Порядок import.sql - PullRequest
0 голосов
/ 15 апреля 2019

Два вопроса: Итак, у меня есть существующая база данных в таблице, которую я сопоставляю с JPA. JPA является @Immutable, так как этому приложению нельзя разрешать изменять таблицу. Но при запуске hibernate пытается создать таблицу для JPA вместо того, чтобы использовать таблицу, уже находящуюся в базе данных.

        @Entity
        @Table(name = "instrument")
        @Immutable
        public class Instrument implements Serializable {

        private static final long serialVersionUID = 1L;


        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;

        @Column(name = "name")
        private String name;

        @Column(name = "ticker")
        private String ticker;

        @Column(name = "value")
        private double value;

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getTicker() {
            return ticker;
        }

        public void setTicker(String ticker) {
            this.ticker = ticker;
        } 

No Title 
public double getValue() {
            return value;
        }

        public void setValue(double value) {
            this.value = value;
        }

        public static long getSerialversionuid() {
            return serialVersionUID;
        }

        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + ((id == null) ? 0 : id.hashCode());
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            result = prime * result + ((ticker == null) ? 0 : ticker.hashCode());
            long temp;
            temp = Double.doubleToLongBits(value);
            result = prime * result + (int) (temp ^ (temp >>> 32));
            return result;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            Instrument other = (Instrument) obj;
            if (id == null) {
                if (other.id != null)
                    return false;
            } else if (!id.equals(other.id))
                return false;
            if (name == null) {
                if (other.name != null)
                    return false;
            } else if (!name.equals(other.name))
                return false;
            if (ticker == null) {
                if (other.ticker != null)
                    return false;
            } else if (!ticker.equals(other.ticker))
                return false;
            if (Double.doubleToLongBits(value) != Double.doubleToLongBits(other.value))
                return false;
            return true;
        }

        @Override
        public String toString() {
            return "Instrument [id=" + id + ", name=" + name + ", ticker=" + ticker + ", value=" + value + "]";
        }




      }

Второй вопрос - как мой import.sql, который заполняет базу данных h2 при запуске, запускается до того, как создаются другие объекты JPA, в настоящее время он запускается после в соответствии с консолью

...