unit intellij idea java hibernate jpa intellij-idea mapping

java - intellij idea add persistence unit



JPA no puede resolver la columna/IntelliJ (4)

Debe asociar su origen de datos (primero debe crear un origen de datos en la vista de base de datos, también conocida como su conexión de base de datos JDBC real) con una unidad de persistencia o fábrica de sesiones (hibernate.cfg.xml).

Sigue los pasos a continuación y las advertencias desaparecerán:

  1. Abra la ventana de la herramienta Persistencia (Ver | Herramientas de Windows | Persistencia).
  2. Haga clic con el botón derecho en el módulo, la unidad de persistencia o la fábrica de sesiones necesarios y seleccione Asignar fuentes de datos en el menú contextual.
  3. En el cuadro de diálogo Asignar fuentes de datos que se abre, haga clic en el campo Fuente de datos y seleccione la fuente de datos necesaria. (Para eliminar la asociación con la fuente de datos, seleccione.)

Consulte aquí: Asociación de fuentes de datos con fábricas de sesiones y unidades de persistencia.

Estoy intentando mapear algunas clases de Java usando la implementación de Hibernate JPA. Mi problema es que no puedo usar cadenas codificadas al igual que las columnas. Puedes ver el mensaje de error que aparece en la imagen de abajo.

Estoy usando OpenJPA como mi proveedor de JPA predeterminado y ya he intentado cambiarlo.

IntelliJ versión 14.0.3

Saludos,


En realidad, esto no es ningún error que impida que su código se compile. Probablemente tu corrector ortográfico está activado y eso te da un error ortográfico. Si puede compilar su código, entonces puede ignorar este tipo de escenario.

Mira, no has recibido ningún error para otro texto como @Column , @GeneratedValue , etc. Eso significa que los @Column que usan este tipo de cosas están en tu ruta de compilación. Así que creo que puedes ignorar este tipo de error.


Encontré la respuesta de Panos útil, pero no vi a nadie mencionar la adición de la base de datos como fuente de datos. Tal vez eso sea lo suficientemente rutinario como para suponerlo, pero si no, esto es lo que tenía que hacer:

Seleccione Ver / Herramientas de Windows / Base de datos

La ventana de la base de datos generalmente aparece en la parte superior derecha.

En la ventana Base de datos, haga clic en el signo + verde y seleccione Fuente de datos / MySQL (o cualquier otro sabor de la Fuente de datos que esté usando).

Aparece la ventana Orígenes de datos y controladores .

Si su base de datos no está en la lista, use el formulario vacío para agregar lo siguiente:

  • Anfitrión: generalmente localhost, pero si su base de datos de prueba vive en otra máquina, ingrese esa dirección.
  • Nombre de usuario: para su uso de base de datos.

  • Contraseña: para la contraseña del usuario de su base de datos.

Es posible que IDEA necesite algunos arreglos para encontrar el controlador JDBC. Me dijeron que, en teoría, debería haberlo encontrado en el proceso de construcción de Maven para el proyecto en el que estaba trabajando, pero no fue así. Volví a abrir View / Tool Windows / Database y miré mi entrada de MySQL. En la parte inferior tenía un mensaje de error junto a Driver:, y también un enlace MySQL . Hice clic en el enlace de MySQL e IDEA apareció una ventana emergente para buscar Connector / J.

A pesar del hecho de que las casillas de verificación de Confirmación automática y Sincronización automática se seleccionaron de forma predeterminada y las dejé de esa manera, IDEA parecía necesitar un empujón. O tal vez solo estaba tomando un tiempo y estaba impaciente.

En cualquier caso, primero hice doble clic en la línea de mi base de datos en Base de datos . Parecía que lo hacía, pero aún no me había dado cuenta de que necesitaba Persistence , y mientras lo solucionaba, por sugerencia de un compañero de trabajo, también hice clic en el botón Sincronizar (dos flechas en un círculo) en la Base de datos .

También puede hacer clic derecho en su base de datos en Base de datos y seleccionar Sincronizar .

Puede tardar unos segundos, pero debería ver a IDEA rellenando el esquema de la base de datos en la entrada Base de datos.

Finalmente encontré la respuesta de Panos y fijé la persistencia .

Seleccione Ver / Herramientas de Windows / Persistencia

La ventana de persistencia usualmente aparece en la parte superior izquierda.

En la ventana Persistencia, haga clic derecho en su proyecto y seleccione Asignar fuentes de datos .

IDEA abre un diálogo con dos columnas, su proyecto en la columna izquierda y en mi caso una celda vacía en la columna derecha. Haga clic en la celda vacía e IDEA debe darle un menú desplegable que le permite seleccionar la base de datos que acaba de agregar.

Nuevamente, puede tomar algunos segundos para que IDEA termine de analizar la fuente de datos y rehaga todas las inspecciones.


Si está utilizando la JPA, también es importante configurar el Dialecto de SQL como HSQLDB en lugar de MySQL. Esto suele ser confuso porque parece que MySQL es el dialecto correcto, pero de hecho, lo que estás tratando de hibernar es HSQL.

Si acaba de actualizar a IntelliJ 2017.13 u otros derivados de esta versión (por ejemplo, Webstorm), o simplemente ha reimportado su proyecto, es posible que se produzca un error en la inyección de idioma y deba corregirlo manualmente.

Esto se puede lograr a través del Proyecto.

Configuraciones -> Idiomas y Frameworks

parte del IDE.