Springboot jpa auto configure атрибут имени @Entity - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть 2 класса, которые для моей бизнес-логики у меня в разных пакетах, но с одинаковым именем класса.

Допустим, у меня есть:

пакет:

com.mycompany.myview1.entities

@Entity
public class MyClass {
  ...
  ...fields...
}

пакет:

com.mycompany.myview2.entities

@Entity
public class MyClass {
  ...
  ...fields...
}

Они представляют разные виды базы данных, с разными полями.

Итак, когда у меня есть 2 разных JpaRepositories, в обоих случаях мои занятия расширяются MyClass:

com.mycompany.myview1.entities

@Repository
public interface MyClassRepository extends JpaRepository<MyClass, Long> { } //MyClass here is from package myview1.

com.mycompany.myview2.entities

@Repository
public interface MyClassRepository extends JpaRepository<MyClass, Long> { } //MyClass here is from package myview2.

Я понял, что когда вы определяете 2 @Entities с тем же именем класса, один из них переопределяется.

  1. Это правда?

Решение, которое я нашел, работает, чтобы избежать, это добавить @Entity(name="myView1MyClass") и @Entity(name="MyView2MyClass").

Проблема в том, что у меня будет несколько таких сущностей, которые сильно вырастут, и я бы хотел автоматизировать этот процесс.

Моим идеальным ( не работающим ) решением было бы что-то вроде:

@Entity(name=this.getClass().getName()), но, как я обнаружил в Интернете, аннотации могут получать только конечные константы.

  1. Предоставляет ли Jpa / Springboot какое-либо решение для автоматизации этого процесса?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...