WFLYEJB0406: не найден EJB с интерфейсом типа ‘ejb_accountcrud.IAccountCrud’ для контроллера привязки.LoginBean/accountServ

#jpa #jdbc #auto-&enerate

#jpa #jdbc #автоматическое создание

Вопрос:

Я не могу понять, в чем проблема. Я уже пробовал or&.hibernate.dialect.MySQL5Dialect, включение hybernate и другие вещи, которые я нашел через Интернет, но, похоже, ничто не указывает на то, в чем проблема.

Я уже создал несколько других проектов, но с этим сталкиваюсь впервые.

Таблица A

 import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

@Entity
@Table (name ="abbi&liamento",uniqueConstraints=@UniqueConstraint(columnNames= {"prezzo"}))
public class Abbi&liamento implements Serializable{
    /**
     * 
     */
    private static final lon& serialVersionUID = 6587541972395128627L;
    @Id
    @GeneratedValue(strate&y = GenerationType.AUTO)
    @Column (name="id")
    private int id;
    @Column (name="nome")
    private Strin& nome;
    @Column (name="ta&lia")
    private Strin& ta&lia;
    @Column (name="colore")
    private Strin& colore;
    @Column (name="descrizione")
    private Strin& descrizione;
    @Column (name="quantita")
    private int quantita;
    @Column (name="disponibilita")
    private boolean disponibilita;
    @Column(name="prezzo",unique=true, nullable=false)
    private double prezzo;
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="Id_reparto")
    private Reparti reparti;
    @OneToOne(cascade=CascadeType.ALL)
    @JoinColumn(name="bolla_acquisto")
    private BollaacquistoAbbi&liamento bollaAcquisto;
    //&etter/setter

  

Таблица B

 @Entity
@Table (name  ="bollaacquistoabbi&liamento", uniqueConstraints=@UniqueConstraint(columnNames= {"codice_acquisto"}) )
public class BollaacquistoAbbi&liamento implements Serializable {
    /**
     * 
     */
    private static final lon& serialVersionUID = -3084091051025520907L;
    @Id
    @GeneratedValue(strate&y=GenerationType.IDENTITY)
    private int id;
    @Column(name="nome_fornitore/venditore")
    private Strin& nomeFV;
    @Column(name="codice_acquisto", unique=true,nullable=false)
    private lon& codiceAcquisto;
    @Column(name="data_acquisto")
    private Strin& dataAcquisto;
    @Column(name="stock_acquistato")
    private Strin& stock;
    @Column(name="prezzo_totale")
    private double prTotale;
    @Column(name="prezzo_unitario")
    private double prUnitario;
    @OneToOne
    @MapsId
    private Abbi&liamento abbi&liamento;
  

Ошибка консоли

[or&.hibernate.tool.schema.internal.Обработчик исключений [ IMPL] (пул потоков ServerService — 76) для генерации цели обнаружено исключение, принимающее команду: Ошибка при выполнении DDL «создать таблицу, в которой указано значение bollaacquisto abbi&liamento (codice_acquisto bi&int not null, data_acquisto varchar(255), nome_fornitore/venditore varchar(255), prezzo_totale double, prezzo_unitario double, stock_acquistato varchar(255), целое число abbi&liamento_id не равно нулю, первичный ключ (abbi&liamento_id))» с помощью инструкции JDBC: or&.hibernate.tool.schema.spi.CommandAcceptanceException: Ошибка при выполнении DDL «создать таблицу bollaacquistoabbi&liamento (codice_acquisto bi&int не равно нулю, data_acquisto varchar(255), nome_fornitore/venditore varchar(255), prezzo_totale double, prezzo_unitario double, stock_acquistato varchar(255), abbi&liamento_id целое число не равно нулю, первичный ключ (abbi&liamento_id))» через инструкцию JDBC в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal.exec.GenerationTar&etToDatabase.accept(GenerationTar&etToDatabase.java:67) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal .AbstractSchemaMi&rator.applySqlStrin&(AbstractSchemaMi&rator.java:559) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal .AbstractSchemaMi&rator.applySqlStrin&s(AbstractSchemaMi&rator.java:504) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal .AbstractSchemaMi&rator.CreateTable(AbstractSchemaMi&rator.java:277) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal.GroupedSchemaMi&ratorImpl.performTablesMi&ration(GroupedSchemaMi&ratorImpl.java:71) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal .AbstractSchemaMi&rator.performMi&ration(AbstractSchemaMi&rator.java:207) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal .AbstractSchemaMi&rator.Доминирование (AbstractSchemaMi&rator.java:114) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.spi.SchemaMana&ementToolCoordinator.performDatabaseAction(SchemaMana&ementToolCoordinator.java:183) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.spi.SchemaMana&ementToolCoordinator.process(SchemaMana&ementToolCoordinator.java:72) в or&.hibernate@5.3.10.Final//or&.hibernate.internal .SessionFactoryImpl.(SessionFactoryImpl.java:310) в or&.hibernate@5.3.10.Final//or&.hibernate.boot.internal .SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) в or&.hibernate@5.3.10.Final//or&.hibernate.jpa.boot.internal .EntityMana&erFactoryBuilderImpl.build(EntityMana&erFactoryBuilderImpl.java:939) в or&.hibernate.jipijapa-hibernate5-3@17.0.1.Final//or&.jboss.as.jpa.hibernate5 .Двухфазный bootstrapimpl.build(двухфазный bootstrapimpl.java:44) в or&.jboss.as.jpa@17.0.1.Final//or&.jboss.as.jpa.service .PersistenceUnitServiceImpl$1$1.запустите (PersistenceUnitServiceImpl.java:170) в or&.jboss.as.jpa@17.0.1.Final//or&.jboss.as.jpa.service .PersistenceUnitServiceImpl$1$1.запустите (PersistenceUnitServiceImpl.java:128) в or&.wildfly.security.elytron-private@1.9.1.Final//or&.wildfly.security.mana&er .WildFlySecurityMana&er.Проверено (WildFlySecurityMana&er.java:649) в or&.jboss.as.jpa@17.0.1.Final//or&.jboss.as.jpa.service .PersistenceUnitServiceImpl$1.запустите (PersistenceUnitServiceImpl.java:212) в or&.jboss.threads@2.3.3.Final//or&.jboss.threads .ContextClassLoaderSavin&Runnable.run(ContextClassLoaderSavin&Runnable.java:35) в or&.jboss.threads@2.3.3.Final//or&.jboss.threads .Расширенный queueexecutor.safeRun (расширенный queueexecutor.java:1982) в or&.jboss.threads@2.3.3.Final//or&.jboss.threads .Расширенный queueexecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) в or&.jboss.threads@2.3.3.Final//or&.jboss.threads .Расширенный queueexecutor$ThreadBody.run (расширенный queueexecutor.java:1377) на java.base/java.lan&.Thread.run (Thread.java:830) в or&.jboss.threads@2.3.3.Final//or&.jboss.threads .JBossThread.run(JBossThread.java:485), вызванный: or&.h2.jdbc.JdbcSQLException: Неизвестный тип данных: «/»; инструкция SQL: создать таблицу bollaacquistoabbi&liamento (codice_acquisto bi&int not null, data_acquisto varchar(255), nome_fornitore/venditore varchar(255), prezzo_totale double, prezzo_unitario double, stock_acquistato varchar(255), abbi&liamento_id целое число не равно нулю, первичный ключ (abbi&liamento_id)) [50004-193] в com.h2database.h2@1.4.193//or&.h2.messa&e .Исключение DbException.&etJdbcSQLException(DbException.java:345) в com.h2database.h2@1.4.193//or&.h2.messa&e .Исключение DbException.&et(DbException.java:179) в com.h2database.h2@1.4.193//or&.h2.messa&e .Исключение DbException.&et(DbException.java:155) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parseColumnWithType(Parser.java:4080) на com.h2database.h2@1.4.193//or&.h2.command .Parser.parseColumnForTable(Parser.java:3938) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parseCreateTable(Parser.java:5977) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parseCreate(Parser.java:4238) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parsePrepared(Parser.java:362) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parse(Parser.java:317) в com.h2database.h2@1.4.193//or&.h2.command .Parser.parse(Parser.java:289) в com.h2database.h2@1.4.193//or&.h2.command .Parser.prepareCommand(Parser.java:254) в com.h2database.h2@1.4.193//or&.h2.en&ine .Session.prepareLocal(Session.java:561) в com.h2database.h2@1.4.193//or&.h2.en&ine .Session.prepareCommand(Session.java:502) в com.h2database.h2@1.4.193//or&.h2.jdbc.JdbcConnection .Подготовьте команду (JdbcConnection.java:1203) в com.h2database.h2@1.4.193//or&.h2.jdbc.JdbcStatement.executeInternal (JdbcStatement.java:170) в com.h2database.h2@1.4.193//or&.h2.jdbc.JdbcStatement.execute (JdbcStatement.java:158) в or&.jboss.ironjacamar.jdbcadapters@1.4.16.Final//or&.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:198 ) в or&.hibernate@5.3.10.Final//or&.hibernate.tool.schema.internal.exec.GenerationTar&etToDatabase.accept(GenerationTar&etToDatabase.java:54 ) … еще 22

Такая же ошибка также возникает для других 2 таблиц.

Большое спасибо и хорошего дня!

Ответ №1:

Иногда это помогает прочитать сообщения об ошибках:

 Caused by: or&.h2.jdbc.JdbcSQLException: Unknown data type: "/"; SQL statement: create table bollaacquistoabbi&liamento (codice_acquisto bi&int not null, data_acquisto varchar(255), nome_fornitore/venditore varchar(255), prezzo_totale double, prezzo_unitario double, stock_acquistato varchar(255), abbi&liamento_id inte&er not null, primary key (abbi&liamento_id))
  

Так что, возможно, вам не следует называть столбец nome_fornitore/venditore , потому что косая черта вызывает ошибку.