Я получаю эту ошибку в моем синтаксисе MySQL, который генерируется Hibernate. Это мой класс:
@Entity(name="LogAlarms")
@Table(name="LogAlarms")
public class LogAlarm implements Serializable {
private static final long serialVersionUID = 4198681733980071621L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="LogAlarmId")
private Long logAlarmId;
@Column(name="AlarmName", nullable=false, unique=true)
private String alarmName;
@Column(name="KeywordRelationship")
private String keywordRelationship;
@ManyToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(
name="LogLevelCriteria",
joinColumns={
@JoinColumn(
name="LogAlarmId",
referencedColumnName="LogAlarmId",
nullable=false
)
},
inverseJoinColumns={
@JoinColumn(
name="LogLevelCriteriaId",
referencedColumnName="LogLevelCriteriaId",
nullable=false
)
}
)
private LogLevelCriteria logLevelCriteria;
@ManyToMany(mappedBy="logAlarmList", fetch=FetchType.LAZY, cascade=CascadeType.ALL)
private List<User> userList;
@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(
name="XRefLogAlarmLogGroup",
joinColumns={
@JoinColumn(
name="LogAlarmId",
referencedColumnName="LogAlarmId",
nullable=false
)
},
inverseJoinColumns={
@JoinColumn(
name="LogGroupId",
referencedColumnName="LogGroupId",
nullable=false
)
}
)
private List<LogGroup> logGroupList;
@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(
name="XRefLogAlarmKeyword",
joinColumns={
@JoinColumn(
name="LogAlarmId",
referencedColumnName="LogAlarmId",
nullable=false
)
},
inverseJoinColumns={
@JoinColumn(
name="KeywordId",
referencedColumnName="KeywordId",
nullable=false
)
}
)
private List<Keyword> keywordList;
@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(
name="XRefLogAlarmSNSTopic",
joinColumns={
@JoinColumn(
name="LogAlarmId",
referencedColumnName="LogAlarmId",
nullable=false
)
},
inverseJoinColumns={
@JoinColumn(
name="SNSTopicId",
referencedColumnName="SNSTopicId",
nullable=false
)
}
)
private List<SNSTopic> snsTopicList;
public LogAlarm() {
}
public LogAlarm(
String alarmName,
String keywordRelationship,
LogLevelCriteria logLevelCriteria,
List<User> userList,
List<LogGroup> logGroupList,
List<Keyword> keywordList,
List<SNSTopic> snsTopicList
) {
this.alarmName = alarmName;
this.keywordRelationship = keywordRelationship;
this.logLevelCriteria = logLevelCriteria;
this.userList = userList;
this.logGroupList = logGroupList;
this.keywordList = keywordList;
this.snsTopicList = snsTopicList;
}
public LogAlarm(
Long logAlarmId,
String alarmName,
String keywordRelationship,
LogLevelCriteria logLevelCriteria,
List<User> userList,
List<LogGroup> logGroupList,
List<Keyword> keywordList,
List<SNSTopic> snsTopicList
) {
this.logAlarmId = logAlarmId;
this.alarmName = alarmName;
this.keywordRelationship = keywordRelationship;
this.logLevelCriteria = logLevelCriteria;
this.userList = userList;
this.logGroupList = logGroupList;
this.keywordList = keywordList;
this.snsTopicList = snsTopicList;
}
public Long getLogAlarmId() {
return this.logAlarmId;
}
public String getAlarmName() {
return this.alarmName;
}
public void setAlarmName(String alarmName) {
this.alarmName = alarmName;
}
public String getKeywordRelationship() {
return this.keywordRelationship;
}
public void setKeywordRelationship(String keywordRelationship) {
this.keywordRelationship = keywordRelationship;
}
public LogLevelCriteria getLogLevelCriteria() {
return this.logLevelCriteria;
}
public void setLogLevelCriteria(LogLevelCriteria logLevelCriteria) {
this.logLevelCriteria = logLevelCriteria;
}
public List<User> getUserList() {
return this.userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
public List<LogGroup> getLogGroupList() {
return this.logGroupList;
}
public void setLogGroupList(List<LogGroup> logGroupList) {
this.logGroupList = logGroupList;
}
public List<Keyword> getKeywordList() {
return this.keywordList;
}
public void setKeywordList(List<Keyword> keywordList) {
this.keywordList = keywordList;
}
public List<SNSTopic> getSNSTopicList() {
return this.snsTopicList;
}
public void setSNSTopicList(List<SNSTopic> snsTopicList) {
this.snsTopicList = snsTopicList;
}
}
Вот моя структура таблицы: CREATE TABLE Users (UserId INT NOT NULL AUTO_INCREMENT, имя пользователя VARCHAR (50) NOT NULL, пароль TEXT NOT NULL, Email VARCHAR (255) NOT NULL Dashboard LONGTEXT NOT NULL, PRIMARY KEY (UserId), UNIQUE (Username), UNIQUE (Email));
CREATE TABLE SNSTopics (
SNSTopicId INT NOT NULL AUTO_INCREMENT,
TopicName VARCHAR(50) NOT NULL,
TopicArn VARCHAR(255) NOT NULL,
PRIMARY KEY (SNSTopicId),
UNIQUE (TopicName),
UNIQUE (TopicArn)
);
CREATE TABLE LogGroups (
LogGroupId INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(255) NOT NULL,
PRIMARY KEY (LogGroupId),
UNIQUE (Name)
);
CREATE TABLE Keywords (
KeywordId INT NOT NULL AUTO_INCREMENT,
Word VARCHAR(70),
PRIMARY KEY (KeywordId),
UNIQUE (Word)
);
CREATE TABLE LogLevelCriteria (
LogLevelCriteriaId INT NOT NULL AUTO_INCREMENT,
LogLevel VARCHAR(5) NOT NULL CHECK (LogLevel IN ('TRACE', 'DEBUG',
'INFO', 'WARN', 'ERROR')),
Comparison VARCHAR(2) CHECK (Comparison IN ('==', '>', '>=')),
PRIMARY KEY (LogLevelCriteriaId),
UNIQUE (LogLevel, Comparison)
);
CREATE TABLE LogAlarms (
LogAlarmId INT NOT NULL AUTO_INCREMENT,
LogLevelCriteriaId INT NOT NULL,
AlarmName VARCHAR(255) NOT NULL,
KeywordRelationship VARCHAR(3) CHECK (KeywordRelationship IN ('AND',
'OR', NULL)),
PRIMARY KEY (LogAlarmId),
FOREIGN KEY (LogLevelCriteriaId) REFERENCES
LogLevelCriteria(LogLevelCriteriaId),
UNIQUE (AlarmName)
);
CREATE TABLE MetricAlarms (
MetricAlarmId INT NOT NULL AUTO_INCREMENT,
AlarmArn VARCHAR(100) NOT NULL,
PRIMARY KEY (MetricAlarmId),
UNIQUE (AlarmArn)
);
CREATE TABLE XRefUserLogAlarm (
UserLogAlarmId INT NOT NULL AUTO_INCREMENT,
UserId INT NOT NULL,
LogAlarmId INT NOT NULL,
PRIMARY KEY (UserLogAlarmId),
FOREIGN KEY (UserId) REFERENCES Users(UserId) ON DELETE CASCADE,
FOREIGN KEY (LogAlarmId) REFERENCES LogAlarms(LogAlarmId) ON DELETE
CASCADE,
UNIQUE (UserId, LogAlarmId)
);
CREATE TABLE XRefUserMetricAlarm (
UserMetricAlarmId INT NOT NULL AUTO_INCREMENT,
UserId INT NOT NULL,
MetricAlarmId INT NOT NULL,
PRIMARY KEY (UserMetricAlarmId),
FOREIGN KEY (UserId) REFERENCES Users(UserId) ON DELETE CASCADE,
FOREIGN KEY (MetricAlarmId) REFERENCES MetricAlarms(MetricAlarmId) ON
DELETE CASCADE,
UNIQUE (UserId, MetricAlarmId)
);
CREATE TABLE XRefLogAlarmLogGroup (
LogAlarmLogGroupId INT NOT NULL AUTO_INCREMENT,
LogAlarmId INT NOT NULL,
LogGroupId INT NOT NULL,
PRIMARY KEY (LogAlarmLogGroupId),
FOREIGN KEY (LogAlarmId) REFERENCES LogAlarms(LogAlarmId) ON DELETE
CASCADE,
FOREIGN KEY (LogGroupId) REFERENCES LogGroups(LogGroupId) ON DELETE
CASCADE,
UNIQUE (LogAlarmId, LogGroupId)
);
CREATE TABLE XRefLogAlarmKeyword (
LogAlarmKeywordId INT NOT NULL AUTO_INCREMENT,
LogAlarmId INT NOT NULL,
KeywordId INT NOT NULL,
PRIMARY KEY (LogAlarmKeywordId),
FOREIGN KEY (LogAlarmId) REFERENCES LogAlarms(LogAlarmId) ON DELETE
CASCADE,
FOREIGN KEY (KeywordId) REFERENCES Keywords(KeywordId) ON DELETE CASCADE,
UNIQUE (LogAlarmId, KeywordId)
);
CREATE TABLE XRefLogAlarmSNSTopic (
LogAlarmSNSTopicId INT NOT NULL AUTO_INCREMENT,
LogAlarmId INT NOT NULL,
SNSTopicId INT NOT NULL,
PRIMARY KEY (LogAlarmSNSTopicId),
FOREIGN KEY (LogAlarmId) REFERENCES LogAlarms(LogAlarmId) ON DELETE
CASCADE,
FOREIGN KEY (SNSTopicId) REFERENCES SNSTopics(SNSTopicId) ON DELETE
CASCADE,
UNIQUE (LogAlarmId, SNSTopicId)
);
Всякий раз, когда я пытаюсь прочитать любые данные из этого класса, я получаю исключение SQLSyntaxErrorException, которое говорит Неизвестный столбец 'logalarm0_1_.LogAlarmId' в 'предложении' ". Я предполагаю, что это как-то связано с тем, как я присоединился к столам, но я не смог понять, что именно. Любая помощь в этом будет оценена