Ich erhalte einen Fehler, wenn ich versuche, 2 Tabellen im Ruhezustand beizutreten. Kopierter Code hier.java.lang.StackOverflowError beim Zugriff auf Daten mit Hibernate
Problem ist mit Zuordnung von Adresse und Benutzereinheiten. Jeder Benutzer kann mehrere Adressen haben, dies ist die Voraussetzung. Bitte helfen Sie.
Kopierte Tabellen DDL-Anweisungen unten. Es ist eine zu viele Beziehung zwischen Benutzer und Adresstabelle.
SQLs Tabellen:
CREATE TABLE `appuser` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) DEFAULT NULL,
`email_address` varchar(1024) NOT NULL,
`password` varchar(1024) NOT NULL,
`active` tinyint(1) DEFAULT '1',
`popularity_rating` int(11) DEFAULT NULL,
`join_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
CREATE TABLE `address` (
`address_id` int(11) NOT NULL AUTO_INCREMENT,
`address_line1` varchar(38) NOT NULL,
`address_line2` varchar(38) NOT NULL,
`city` varchar(38) NOT NULL,
`state` varchar(38) NOT NULL,
`zip` varchar(10) NOT NULL,
`address_type` varchar(45) NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`address_id`),
KEY `fk_address_user_idx` (`user_id`),
CONSTRAINT `fk_address_user` FOREIGN KEY (`user_id`) REFERENCES `appuser` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
oben genannte Adresse und USER Tabellen verknüpft mir Stackoverflow geben.
Erwartetes Ergebnis ist:
{
"userId": 1,
"firstName": "alb",
"lastName": "va",
"emailAddress": "[email protected]",
"password": "albva",
"addresses": [
{
"addressLine1": "222 plano pkwy",
"addressLine2": "apt 22",
"city": "plano",
"state": "tx",
"zip": "75034",
"country": null
}, {
"addressLine1": "555 plano pkwy",
"addressLine2": "apt 11",
"city": "plano",
"state": "tx",
"zip": "75024",
"country": null
}
],
"popularityRating": 6,
"joinDate": 1504897922000,
"roles": []
}
Ergebnis ich immer bin, während der Web-Service-Aufruf eine unendliche loop.Which ist Stack-Überlauf-Fehler verursacht:
{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user":{"userId":2,"firstName":"rax","lastName":"tax","emailAddress":"[email protected]","password":"raxtax","addresses":[{"addressLine1":"2001 spring creek","addressLine2":"apt 724","city":"plano","state":"tx","zip":"75074","country":null,"addressType":null,"user": ...
Wo ist der Stack-Trace? –