$ dbc
возвращает false. В вашем запросе есть ошибка:
Пользователь SELECT. *, Профиль. * - Вы не присоединяетесь к профилю в любом месте. FROM users INNER JOIN contact_info ON contact_info.user_id = users.user_id WHERE users.user_id = 3 ");
Исправление для этого вообще описано Raveren.
Если главная цель сохранения пользовательских компонентов на стороне серверов - это иметь возможность показывать один и тот же интерфейс пользователю - почему бы не сохранить всю описательную информацию, необходимую вам о компонентах пользователей, и когда это необходимо - просто снова перестроить пользовательский интерфейс, используя хранимую описательную информацию? Вот пример:
/* That is the class for storing information, which you need from your components*/
public class DropedComponentsCoordinates implements Serializable{
private String componentID;
private String x_coord;
private String y_coord;
//and so on, whatever you need to get from yor serializable objects;
//getters and setters are assumed but not typed here.
}
/* I assume a variant with using FXML. If you don't - the main idea does not change*/
public class YourController implements Initializable {
List<DropedComponentsCoordinates> dropedComponentsCoordinates;
@Override
public void initialize(URL url, ResourceBundle rb) {
dropedComponentsCoordinates = new ArrayList();
}
//This function will be fired, every time
//a user has dropped a component on the place he/she wants
public void OnDropFired(ActionEvent event) {
try {
//getting the info we need from components
String componentID = getComponentID(event);
String component_xCoord = getComponent_xCoord(event);
String component_yCoord = getComponent_yCoord(event);
//putting this info to the list
DropedComponentsCoordinates dcc = new DropedComponentsCoordinates();
dcc.setX_Coord(component_xCoord);
dcc.setY_Coord(component_yCoord);
dcc.setComponentID(componentID);
} catch (Exception e) {
e.printStackTrace();
}
}
private String getComponentID(ActionEvent event){
String componentID;
/*getting cpmponentID*/
return componentID;
}
private String getComponent_xCoord(ActionEvent event){
String component_xCoord;
/*getting component_xCoord*/
return component_xCoord;
}
private String getComponent_yCoord(ActionEvent event){
String component_yCoord;
/*getting component_yCoord*/
return component_yCoord;
}
}
Вы правы, JavaFX (по состоянию на 2.1) не поддерживает сериализацию компонентов с использованием интерфейса Java Serializable - поэтому вы не можете использовать этот механизм.
JavaFX может десериализоваться из FXML-документ, использующий метод FXMLLoader.load () .
Трюк заключается в том, как записать ваши существующие компоненты и состояния в FXML?
Существует обсуждение форума о сериализации в FXML.
В настоящее время на платформе, которая выполняет сериализацию FXML, нет ничего публичного. По-видимому, создание родового сценария => сериализатор FXML - довольно сложная задача (и для этого я не знаю публичного стороннего API). Было бы не слишком сложно перебирать сценарий и записывать FXML для ограниченного набора компонентов и атрибутов.